#! /usr/bin/env python
#coding=utf-8
"""
 4生成动态参数 int,double,bool,string,列表
 5实现流程:
 6    1.导包
 7    2.创建生成器
 8    3.向生成器添加若干参数
 9    4.生成中间文件并退出
10
"""
# 1.导包,初始化ROS并导入参数生成器
from dynamic_reconfigure.parameter_generator_catkin import *
PACKAGE = "lidar2cam_calibration"


# 2.创建生成器
gen = ParameterGenerator()

# 3.向生成器添加若干参数
'''
#add(name, paramtype, level, description, default=None, min=None, max=None, edit_method="")
以上代码为加入不同的参数。其中gen.add(...)格式如下：
 name: 参数的名称
 type: 参数类型
 level:一个传递给回调的位掩码
 description: 一个描述参数
 default: 节点启动的初始值
 min: 参数最小值
 max: 参数最大值

gen.add("int_param",int_t,0,"整型参数",50,0,100)
gen.add("double_param",double_t,0,"浮点参数",1.57,0,3.14)
gen.add("string_param",str_t,0,"字符串参数","hello world ")
gen.add("bool_param",bool_t,0,"bool参数",True)
'''

gen.add("x_min", double_t, 0, "浮点参数", 0., -10., 10.)
gen.add("x_max", double_t, 0, "浮点参数", 1.5, -10., 10.)
gen.add("y_min", double_t, 0, "浮点参数", -1., -10., 10.)
gen.add("y_max", double_t, 0, "浮点参数", 1, -10., 10.)
gen.add("z_min", double_t, 0, "浮点参数", -0.23, -10., 10.)
gen.add("z_max", double_t, 0, "浮点参数", 1, -10., 10.)
 

# 4.生成中间文件并退出
exit(gen.generate(PACKAGE,"data_frame_extraction_node","filter_"))
